The design and manufacture of electronic circuits involve many stages each utilizing many tools and strategies. The electronic circuit is first designed and planned in an architectural design stage. The designers plan the architecture of the design of the electronic circuit. This design architecture can be implemented into high-level logic of the desired functions of the electronic circuit. Then, the design is modeled using a programming language such as registered transfer language (RTL), hardware description language (HDL), etc. Then, the modeled designs are synthesized into a layout of the electronic circuit. At this stage, the layout is analyzed and improvements are made if required in an attempt to ensure the quality of the resulting electronic circuit. After the layout is complete, optimization may be performed on the layout. After the optimization step, the design is manufactured. The manufactured electronic circuit may be further analyzed and tested, and improvements of the design and/or manufacturing process may be made from the test results.
In conventional electronic design automation (EDA) design flows and tools, design for testing (DFT) structures are placed into the electronic circuit after the architectural design stage of the electronic circuit. For example, many EDA tools design and implement DFT structures during the synthesis stage by performing DFT synthesis. With this approach, test structures are synthesized along with other design components during the synthesis stage. The synthesized test structures would then get sent to a place and route tool to perform physical design and layout of the DFT structures. Analysis would then be performed to determine the impact of the test structures upon the design. Any problems due to the test structures are then addressed and corrected with re-synthesis and/or additional layout changes and placement corrections of the test structures.
The problem with this approach is that consideration of the impact of the test structures happens at a very late stage of the design process. If a need to correct any problems resulting from the test structures arises, then a considerable amount of time and cost is expended to correct those problems. In addition, a significant quantity of the existing design may be needed to change or correct the problems arising from the additional test structures.